/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ejb.modelo;

import java.awt.Image;
import java.io.File;
import java.util.ArrayList;

/**
 * Clase que representa un nivel del juego. En ella irán los eventos que soporta, el escenario, etc.
 * @author Hobbes
 *
 */
public class Nivel {
	
	public enum TipoNivel{
		Inicio, Medio, Fin, GameOver, Creditos
	}

	ArrayList<Evento> eventos;		//Por ahora los eventos solo son de salto de nivel
	Image escenario;				//Esta imagen representa el escenario sobre el que tiene lugar el nivel
	TipoNivel tipo;					//Representa si es un nivel de inicio, intermedio o final.
	
	String nombre;					//Nombre para el nivel creado.
	int numero;						//indica el número de Nivel.
	File musica;					//Se le puede poner una música especial a cada nivel.
	
	public Nivel(TipoNivel tipo){
		eventos=new ArrayList<Evento>();
		this.tipo=tipo;
		nombre="";
	}

	public Image getEscenario() {
		return escenario;
	}

	public void setEscenario(Image escenario) {
		this.escenario = escenario;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		if(nombre.compareTo("")==0){
			nombre="Nivel "+numero;
		}
		this.numero = numero;
	}

	public TipoNivel getTipo() {
		return tipo;
	}
	
	public void setTipo(TipoNivel t){
		tipo=t;
	}
	
	public int numEventos(){
		return eventos.size();
	}
	
	public void anadirEvento(Evento e){
		eventos.add(e);
	}
	
	public void eliminarEvento(Evento e){
		eventos.remove(e);
	}
	
	public Evento getEvento(int i){
		return eventos.get(i);
	}

	public File getMusica() {
		return musica;
	}

	public void setMusica(File musica) {
		this.musica = musica;
	}

}
